// ConflictIconOverlay.h : Declaration of the CConflictIconOverlay

#pragma once
#include "resource.h"       // main symbols

#include "CLizardShExt.h"

#include "LizardClient.h"

#include <shlobj.h>
#include <shlguid.h>
#include <comdef.h>
#include "atlcoll.h"
#include "IconOverlayBase.h"


#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms."
#endif



// CConflictIconOverlay

class ATL_NO_VTABLE CConflictIconOverlay :
	public CIconOverlayBase,
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CConflictIconOverlay, &CLSID_ConflictIconOverlay>,
	public IDispatchImpl<IConflictIconOverlay, &IID_IConflictIconOverlay, &LIBID_CLizardShExtLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
public:
	CConflictIconOverlay()
	{
		areOverlaysApplicable=false;
	}
// IShellIconOverlayIdentifier Methods

  //STDMETHOD(GetOverlayInfo)(LPWSTR pwszIconFile, 
  //         int cchMax,int *pIndex,DWORD* pdwFlags);
  //STDMETHOD(GetPriority)(int* pPriority);
  //STDMETHOD(IsMemberOf)(LPCWSTR pwszPath,DWORD dwAttrib);


DECLARE_REGISTRY_RESOURCEID(IDR_CONFLICTICONOVERLAY)


BEGIN_COM_MAP(CConflictIconOverlay)
	COM_INTERFACE_ENTRY(IConflictIconOverlay)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY_IID(IID_IShellIconOverlayIdentifier, IShellIconOverlayIdentifier)  
END_COM_MAP()



	DECLARE_PROTECT_FINAL_CONSTRUCT()

	HRESULT FinalConstruct()
	{
		return S_OK;
	}

	void FinalRelease()
	{
	}

protected :
	string CConflictIconOverlay::GetOverlayTypeName();

};

OBJECT_ENTRY_AUTO(__uuidof(ConflictIconOverlay), CConflictIconOverlay)
